package com.ruicar.afs.cloud.basic.proceeds.debit.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.modules.contract.enums.ContractStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.DebitStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 批次明细表
 */
@Data
@Accessors(chain = true)
@TableName(value ="basic_debit_batch_details", autoResultMap = true)
public class BasicDebitBatchDetails extends BaseEntity<BasicDebitBatchDetails> {

	/** 批次id */
	@ApiModelProperty("批次id")
	private Long batchId;
	/** 批次内序号 */
	@ApiModelProperty("批次内序号")
	private Integer seqNo;
	/** 合同号 */
	@ApiModelProperty("合同号")
	private String contractNo;
	/** 贷款申请编号 */
	@ApiModelProperty("贷款申请编号")
	private String applyNo;
	/** 合同状态 枚举值：合同取消、合同生效、正常结清、提前结清、核销 */
	@ApiModelProperty("合同状态 枚举值：合同取消、合同生效、正常结清、提前结清、核销")
	private ContractStatusEnum contractStatus;
	/** 扣款金额 不可为负数 */
	@ApiModelProperty("扣款金额 不可为负数")
	private BigDecimal amount;
	/** 扣款状态 枚举值：扣款成功，扣款失败，尚无扣款结果，睿易通反馈异常 */
	@ApiModelProperty("扣款状态 枚举值：扣款成功，扣款失败，尚无扣款结果，睿易通反馈异常")
	private DebitStatusEnum status;
	/** 扣款签约银行 央行标准银行代码 数据字典 */
	@ApiModelProperty("扣款签约银行 央行标准银行代码 数据字典")
	private String debitSignBank;
	/** 扣款签约码 */
	@ApiModelProperty("扣款签约码")
	private String debitSignCode;
	/** 开户行电子联行号（分支行） */
	@ApiModelProperty("开户行电子联行号（分支行）")
	private String debitEbankCode;
	/** 开户银行支行 */
	@ApiModelProperty("开户银行支行")
	private String debitBankBranch ;
	/** 扣款卡账号 */
	@ApiModelProperty("扣款卡账号")
	private String debitAccount;
	/** 扣款卡账户名 */
	@ApiModelProperty("扣款卡账户名")
	private String debitAccountName;
	/** 扣款卡绑定手机号码 */
	@ApiModelProperty("扣款卡绑定手机号码")
	private String debitCardPhone;
	/** 扣款卡证件号码 */
	@ApiModelProperty("扣款卡证件号码")
	private String debitCertNo;
	/** 扣款入账银行 实际扣款入账银行代码（央行标准） */
	@ApiModelProperty("扣款入账银行 实际扣款入账银行代码（央行标准）")
	private String creditBankCode;
	/** 扣款入账银行名称 */
	@ApiModelProperty("扣款入账银行名称")
	private String creditBankName;
	/** 扣款入账银行名称（分支行） */
	@ApiModelProperty("扣款入账银行名称（分支行）")
	private String creditOpeningBankName;
	/** 扣款入账银行账号 */
	@ApiModelProperty("扣款入账银行账号")
	private String creditAccount;
	/** 备注信息 */
	@ApiModelProperty("备注信息")
	private String remarks;
	/** 发送时间 */
	@ApiModelProperty("发送时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date sendDate;
	/** 完成时间 */
	@ApiModelProperty("完成时间")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date completeDate;
	/** 乐观锁 */
	@ApiModelProperty("乐观锁")
	private String revision;

}
